package ln.javatest.day08.demo07;
/*
笔记本电脑类，鼠标类，键盘类，USB接口
鼠标类和键盘类都要用到USB接口
*/

public class DemoMain {
    public static void main(String[] args) {
        //首先创建一个笔记本电脑
        Computer computer = new Computer();
        computer.powerOn();  //笔记本电脑开机
        //准备一个鼠标，供电脑使用
        Mouse  mouse = new Mouse();
        //首先进行向上转型，把鼠标当做USB
        USB usbMouse = new Mouse();
        //参数是USB类型，我正好传递进去的就是USB鼠标
        computer.useDevice(usbMouse);
        //打开鼠标
        //鼠标点击
        //关闭鼠标
        //创建一个USB键盘
        keyBoard keyboard = new keyBoard();  //没有使用多态写法
        //方法参数是USB类型，传递进去的叫做实现类对象
        //keyboard是新创建的一个实现类的对象，在下面这条语句中自动向上转型成为了接口类型
        computer.useDevice(keyboard);  //正确写法，也发生了向上转型
        //打开键盘
        //打开键盘
        //关闭键盘
        //使用子类对象，匿名对象，也是可以的
        computer.useDevice(new keyBoard());  //正确写法，也发生了向上转型
        //打开键盘
        //打开键盘
        //关闭键盘

        System.out.println("=====================");
        computer.powerOff();   //笔记本电脑关机
        method(10.0); //正确写法   10.0
        method(10); //也正确，int-->double    10.0

    }
    public static void method(double num){
        System.out.println(num);
    }
}
